﻿using KuaFu.Shared.CardIssuingPlatformService.Enums.CardProduct;
using KuaFu.Shared.CardIssuingService.DTOs;
using Newtonsoft.Json;

namespace KuaFu.CardIssuing.OpenApi.Model.CardProduct
{
    public class CardProductDTO
    {

        [JsonProperty("card_product_id")]
        public long CardProductId { get; set; }

        [JsonProperty("issue_bank")]
        /// <summary>
        /// 发卡行
        /// </summary>
        public string IssueBank { get; set; }

        [JsonProperty("card_brand")]
        /// <summary>
        /// 卡品牌
        /// </summary>
        public CardBrandEnum CardBrand { get; set; }

        [JsonProperty("card_bin")]
        /// <summary>
        /// 卡BIN
        /// </summary>
        public string CardBin { get; set; }

        [JsonProperty("card_number_length")]
        /// <summary>
        /// 卡号长度
        /// </summary>
        public int CardNumberLength { get; set; }

        [JsonProperty("card_type")]
        /// <summary>
        /// 卡类型
        /// </summary>
        public CardTypeEnum CardType { get; set; }

        [JsonProperty("product_name")]
        /// <summary>
        /// 产品名称
        /// </summary>
        public string ProductName { get; set; }

        [JsonProperty("description")]
        /// <summary>
        /// 说明
        /// </summary>
        public string? Description { get; set; }

        [JsonProperty("currency")]
        /// <summary>
        /// 卡本币编码
        /// </summary>
        public string Currency { get; set; }

        [JsonProperty("support_senarios")]
        /// <summary>
        /// 支持的消费场景
        /// </summary>
        public string? SupportSenarios { get; set; }

        [JsonProperty("issuer_crountry_code")]
        /// <summary>
        /// 发卡国家编号
        /// </summary>
        public string IssuerCrountryCode { get; set; }

        [JsonProperty("open_fee")]
        /// <summary>
        /// 开卡手续费
        /// </summary>
        public decimal OpenFee { get; set; }

        [JsonProperty("init_amount")]
        /// <summary>
        /// 初始金额
        /// </summary>
        public decimal InitAmount { get; set; }

        [JsonProperty("create_date_time")]
        public DateTime CreateDateTime { get; set; }

    }
}
